package com.zone;

/**
 * 提供sql服务操作、事务管理、获取mapper代理
 *
 * @author: zongzi
 * @description: TODO
 * @date: 2023/11/29
 */
public interface SqlSession {

    /**
     * 检索从语句键映射的单行
     *
     * @param statement
     * @param <T>
     * @return
     */
    <T> T selectOne(String statement);

    /**
     * 检索从语句键和参数映射的单行。以上翻译结果来自有道神经网络翻译（YNMT）· 通用场景
     *
     * @param statement
     * @param params
     * @param <T>
     * @return
     */
    <T> T selectOne(String statement, Object params);

    /**
     * 获取指定类的映射器代理
     *
     * @param clazz
     * @param <T>
     * @return
     */
    <T> T getMapper(Class<T> clazz);
}
